home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_gen / ssd40.zip / EXAMPLE.DOC < prev    next >
Text File  |  1996-04-19  |  15KB  |  608 lines

  1.                  Example: Borland C small memory model program
  2.  
  3.  
  4. DOS version read
  5. Get segment address of program
  6. Get segment address of environment block
  7. Read interrupt vector 00
  8. Read interrupt vector 04
  9. Read interrupt vector 05
  10. Read interrupt vector 06
  11. Set vector 00 to 5306:015C
  12. Modify memory allocation
  13. Get clock counter
  14. Get device information
  15. [Stdin]
  16. Get device information
  17. [Stdout]
  18. Get segment address of environment block
  19. Get bytes from command line
  20. Write to [Stdout]
  21.  
  22. Funcion main, of program test running....
  23. Set vector 00 to 1322:19A9
  24. Set vector 04 to 1322:1A1B
  25. Set vector 05 to F000:FF54
  26. Set vector 06 to F000:1805
  27. Terminate!
  28. 2
  29.                          Example: Viral Messiah Virus
  30.  
  31.  
  32. Set vector 03 to 51DE:0000
  33. Set vector 01 to 51DE:0000
  34. Write to programmable interrupt controller port [0021]
  35. (Attempt to disable hardware. Inhibited)
  36. Get Current directory
  37. Get segment address of environment block
  38. Change directory [C:\WINDOWS]
  39. DTA read
  40. DTA changed
  41. Searching for [*.COM]
  42. DTA read
  43. Open file [WIN.COM]
  44. [4] bytes read from [WIN.COM]
  45. Close file [WIN.COM]
  46. Set file attributes [WIN.COM]
  47. (Inhibited)
  48. Open file [WIN.COM]
  49. Get clock counter
  50. Write to file [WIN.COM]
  51. (Inhibited)
  52. Set file date/time [WIN.COM]
  53. (Inhibited)
  54. Close file [WIN.COM]
  55. Set file attributes [WIN.COM]
  56. (Inhibited)
  57. DTA changed
  58. Change directory [\VIRUS]
  59. Get Current directory
  60. Get segment address of environment block
  61. Change directory [C:\WINDOWS]
  62. DTA read
  63. DTA changed
  64. Searching for [*.COM]
  65. DTA read
  66. Open file [WIN.COM]
  67. [4] bytes read from [WIN.COM]
  68. Close file [WIN.COM]
  69. Set file attributes [WIN.COM]
  70. (Inhibited)
  71. Open file [WIN.COM]
  72. Get clock counter
  73. Write to file [WIN.COM]
  74. (Inhibited)
  75. Set file date/time [WIN.COM]
  76. (Inhibited)
  77. Close file [WIN.COM]
  78. Set file attributes [WIN.COM]
  79. (Inhibited)
  80. DTA changed
  81. Change directory [\VIRUS]
  82. Get Current directory
  83. 3
  84. Get segment address of environment block
  85. Change directory [C:\WINDOWS]
  86. DTA read
  87. DTA changed
  88. Searching for [*.COM]
  89. DTA read
  90. Open file [WIN.COM]
  91. [4] bytes read from [WIN.COM]
  92. Close file [WIN.COM]
  93. Set file attributes [WIN.COM]
  94. (Inhibited)
  95. Open file [WIN.COM]
  96. Get clock counter
  97. Write to file [WIN.COM]
  98. (Inhibited)
  99. Set file date/time [WIN.COM]
  100. (Inhibited)
  101. Close file [WIN.COM]
  102. Set file attributes [WIN.COM]
  103. (Inhibited)
  104. DTA changed
  105. Change directory [\VIRUS]
  106. Get Current directory
  107. Get segment address of environment block
  108. Change directory [C:\WINDOWS]
  109. DTA read
  110. DTA changed
  111. Searching for [*.COM]
  112. DTA read
  113. Open file [WIN.COM]
  114. [4] bytes read from [WIN.COM]
  115. Close file [WIN.COM]
  116. Set file attributes [WIN.COM]
  117. (Inhibited)
  118. Open file [WIN.COM]
  119. Get clock counter
  120. Write to file [WIN.COM]
  121. (Inhibited)
  122. Set file date/time [WIN.COM]
  123. (Inhibited)
  124. Close file [WIN.COM]
  125. Set file attributes [WIN.COM]
  126. (Inhibited)
  127. DTA changed
  128. Change directory [\VIRUS]
  129. Get Current directory
  130. Get segment address of environment block
  131. Change directory [C:\WINDOWS]
  132. DTA read
  133. DTA changed
  134. Searching for [*.COM]
  135. DTA read
  136. Open file [WIN.COM]
  137. [4] bytes read from [WIN.COM]
  138. 4
  139. Close file [WIN.COM]
  140. Set file attributes [WIN.COM]
  141. (Inhibited)
  142. Open file [WIN.COM]
  143. Get clock counter
  144. Write to file [WIN.COM]
  145. (Inhibited)
  146. Set file date/time [WIN.COM]
  147. (Inhibited)
  148. Close file [WIN.COM]
  149. Set file attributes [WIN.COM]
  150. (Inhibited)
  151. DTA changed
  152. Change directory [\VIRUS]
  153. Write character in teletype mode: I
  154. Write character in teletype mode:  
  155. Write character in teletype mode: a
  156. Write character in teletype mode: m
  157. Write character in teletype mode:  
  158. Write character in teletype mode: y
  159. Write character in teletype mode: o
  160. Write character in teletype mode: u
  161. Write character in teletype mode: r
  162. Write character in teletype mode:  
  163. Write character in teletype mode: V
  164. Write character in teletype mode: I
  165. Write character in teletype mode: R
  166. Write character in teletype mode: A
  167. Write character in teletype mode: L
  168. Write character in teletype mode:  
  169. Write character in teletype mode: M
  170. Write character in teletype mode: E
  171. Write character in teletype mode: S
  172. Write character in teletype mode: S
  173. Write character in teletype mode: I
  174. Write character in teletype mode: A
  175. Write character in teletype mode: H
  176. Write character in teletype mode: 
  177. Write character in teletype mode: 
  178.  
  179. Write character in teletype mode: F
  180. Write character in teletype mode: o
  181. Write character in teletype mode: l
  182. Write character in teletype mode: l
  183. Write character in teletype mode: o
  184. Write character in teletype mode: w
  185. Write character in teletype mode:  
  186. Write character in teletype mode: m
  187. Write character in teletype mode: e
  188. Write character in teletype mode:  
  189. Write character in teletype mode: a
  190. Write character in teletype mode: n
  191. Write character in teletype mode: d
  192. Write character in teletype mode:  
  193. 5
  194. Write character in teletype mode: b
  195. Write character in teletype mode: e
  196. Write character in teletype mode:  
  197. Write character in teletype mode: r
  198. Write character in teletype mode: e
  199. Write character in teletype mode: d
  200. Write character in teletype mode: e
  201. Write character in teletype mode: e
  202. Write character in teletype mode: m
  203. Write character in teletype mode: e
  204. Write character in teletype mode: d
  205. Write character in teletype mode: 
  206. Write character in teletype mode: 
  207.  
  208. Write character in teletype mode: Y
  209. Write character in teletype mode: o
  210. Write character in teletype mode: u
  211. Write character in teletype mode: r
  212. Write character in teletype mode:  
  213. Write character in teletype mode: d
  214. Write character in teletype mode: a
  215. Write character in teletype mode: t
  216. Write character in teletype mode: a
  217. Write character in teletype mode:  
  218. Write character in teletype mode: d
  219. Write character in teletype mode: o
  220. Write character in teletype mode: t
  221. Write character in teletype mode: h
  222. Write character in teletype mode:  
  223. Write character in teletype mode: e
  224. Write character in teletype mode: x
  225. Write character in teletype mode: i
  226. Write character in teletype mode: s
  227. Write character in teletype mode: t
  228. Write character in teletype mode:  
  229. Write character in teletype mode: n
  230. Write character in teletype mode: o
  231. Write character in teletype mode:  
  232. Write character in teletype mode: m
  233. Write character in teletype mode: o
  234. Write character in teletype mode: r
  235. Write character in teletype mode: e
  236. Write character in teletype mode: 
  237. Write character in teletype mode: 
  238.  
  239. Write character in teletype mode: T
  240. Write character in teletype mode: h
  241. Write character in teletype mode: e
  242. Write character in teletype mode:  
  243. Write character in teletype mode: F
  244. Write character in teletype mode: A
  245. Write character in teletype mode: T
  246. Write character in teletype mode:  
  247. Write character in teletype mode: h
  248. 6
  249. Write character in teletype mode: o
  250. Write character in teletype mode: l
  251. Write character in teletype mode: d
  252. Write character in teletype mode: s
  253. Write character in teletype mode:  
  254. Write character in teletype mode: a
  255. Write character in teletype mode: s
  256. Write character in teletype mode: h
  257. Write character in teletype mode: e
  258. Write character in teletype mode: s
  259. Write character in teletype mode:  
  260. Write character in teletype mode: o
  261. Write character in teletype mode: f
  262. Write character in teletype mode:  
  263. Write character in teletype mode: y
  264. Write character in teletype mode: o
  265. Write character in teletype mode: u
  266. Write character in teletype mode: r
  267. Write character in teletype mode:  
  268. Write character in teletype mode: d
  269. Write character in teletype mode: r
  270. Write character in teletype mode: e
  271. Write character in teletype mode: a
  272. Write character in teletype mode: m
  273. Write character in teletype mode: s
  274. Write character in teletype mode: 
  275. Write character in teletype mode: 
  276.  
  277. Write character [I] to printer [00]
  278. (Inhibited)
  279. Write character [ ] to printer [00]
  280. (Inhibited)
  281. Write character [a] to printer [00]
  282. (Inhibited)
  283. Write character [m] to printer [00]
  284. (Inhibited)
  285. Write character [ ] to printer [00]
  286. (Inhibited)
  287. Write character [y] to printer [00]
  288. (Inhibited)
  289. Write character [o] to printer [00]
  290. (Inhibited)
  291. Write character [u] to printer [00]
  292. (Inhibited)
  293. Write character [r] to printer [00]
  294. (Inhibited)
  295. Write character [ ] to printer [00]
  296. (Inhibited)
  297. Write character [V] to printer [00]
  298. (Inhibited)
  299. Write character [I] to printer [00]
  300. (Inhibited)
  301. Write character [R] to printer [00]
  302. (Inhibited)
  303. 7
  304. Write character [A] to printer [00]
  305. (Inhibited)
  306. Write character [L] to printer [00]
  307. (Inhibited)
  308. Write character [ ] to printer [00]
  309. (Inhibited)
  310. Write character [M] to printer [00]
  311. (Inhibited)
  312. Write character [E] to printer [00]
  313. (Inhibited)
  314. Write character [S] to printer [00]
  315. (Inhibited)
  316. Write character [S] to printer [00]
  317. (Inhibited)
  318. Write character [I] to printer [00]
  319. (Inhibited)
  320. Write character [A] to printer [00]
  321. (Inhibited)
  322. Write character [H] to printer [00]
  323. (Inhibited)
  324. Write character [] to printer [00]
  325. (Inhibited)
  326. Write character [
  327. ] to printer [00]
  328. (Inhibited)
  329. Write character [F] to printer [00]
  330. (Inhibited)
  331. Write character [o] to printer [00]
  332. (Inhibited)
  333. Write character [l] to printer [00]
  334. (Inhibited)
  335. Write character [l] to printer [00]
  336. (Inhibited)
  337. Write character [o] to printer [00]
  338. (Inhibited)
  339. Write character [w] to printer [00]
  340. (Inhibited)
  341. Write character [ ] to printer [00]
  342. (Inhibited)
  343. Write character [m] to printer [00]
  344. (Inhibited)
  345. Write character [e] to printer [00]
  346. (Inhibited)
  347. Write character [ ] to printer [00]
  348. (Inhibited)
  349. Write character [a] to printer [00]
  350. (Inhibited)
  351. Write character [n] to printer [00]
  352. (Inhibited)
  353. Write character [d] to printer [00]
  354. (Inhibited)
  355. Write character [ ] to printer [00]
  356. (Inhibited)
  357. Write character [b] to printer [00]
  358. 8
  359. (Inhibited)
  360. Write character [e] to printer [00]
  361. (Inhibited)
  362. Write character [ ] to printer [00]
  363. (Inhibited)
  364. Write character [r] to printer [00]
  365. (Inhibited)
  366. Write character [e] to printer [00]
  367. (Inhibited)
  368. Write character [d] to printer [00]
  369. (Inhibited)
  370. Write character [e] to printer [00]
  371. (Inhibited)
  372. Write character [e] to printer [00]
  373. (Inhibited)
  374. Write character [m] to printer [00]
  375. (Inhibited)
  376. Write character [e] to printer [00]
  377. (Inhibited)
  378. Write character [d] to printer [00]
  379. (Inhibited)
  380. Write character [] to printer [00]
  381. (Inhibited)
  382. Write character [
  383. ] to printer [00]
  384. (Inhibited)
  385. Write character [Y] to printer [00]
  386. (Inhibited)
  387. Write character [o] to printer [00]
  388. (Inhibited)
  389. Write character [u] to printer [00]
  390. (Inhibited)
  391. Write character [r] to printer [00]
  392. (Inhibited)
  393. Write character [ ] to printer [00]
  394. (Inhibited)
  395. Write character [d] to printer [00]
  396. (Inhibited)
  397. Write character [a] to printer [00]
  398. (Inhibited)
  399. Write character [t] to printer [00]
  400. (Inhibited)
  401. Write character [a] to printer [00]
  402. (Inhibited)
  403. Write character [ ] to printer [00]
  404. (Inhibited)
  405. Write character [d] to printer [00]
  406. (Inhibited)
  407. Write character [o] to printer [00]
  408. (Inhibited)
  409. Write character [t] to printer [00]
  410. (Inhibited)
  411. Write character [h] to printer [00]
  412. (Inhibited)
  413. 9
  414. Write character [ ] to printer [00]
  415. (Inhibited)
  416. Write character [e] to printer [00]
  417. (Inhibited)
  418. Write character [x] to printer [00]
  419. (Inhibited)
  420. Write character [i] to printer [00]
  421. (Inhibited)
  422. Write character [s] to printer [00]
  423. (Inhibited)
  424. Write character [t] to printer [00]
  425. (Inhibited)
  426. Write character [ ] to printer [00]
  427. (Inhibited)
  428. Write character [n] to printer [00]
  429. (Inhibited)
  430. Write character [o] to printer [00]
  431. (Inhibited)
  432. Write character [ ] to printer [00]
  433. (Inhibited)
  434. Write character [m] to printer [00]
  435. (Inhibited)
  436. Write character [o] to printer [00]
  437. (Inhibited)
  438. Write character [r] to printer [00]
  439. (Inhibited)
  440. Write character [e] to printer [00]
  441. (Inhibited)
  442. Write character [] to printer [00]
  443. (Inhibited)
  444. Write character [
  445. ] to printer [00]
  446. (Inhibited)
  447. Write character [T] to printer [00]
  448. (Inhibited)
  449. Write character [h] to printer [00]
  450. (Inhibited)
  451. Write character [e] to printer [00]
  452. (Inhibited)
  453. Write character [ ] to printer [00]
  454. (Inhibited)
  455. Write character [F] to printer [00]
  456. (Inhibited)
  457. Write character [A] to printer [00]
  458. (Inhibited)
  459. Write character [T] to printer [00]
  460. (Inhibited)
  461. Write character [ ] to printer [00]
  462. (Inhibited)
  463. Write character [h] to printer [00]
  464. (Inhibited)
  465. Write character [o] to printer [00]
  466. (Inhibited)
  467. Write character [l] to printer [00]
  468. 10
  469. (Inhibited)
  470. Write character [d] to printer [00]
  471. (Inhibited)
  472. Write character [s] to printer [00]
  473. (Inhibited)
  474. Write character [ ] to printer [00]
  475. (Inhibited)
  476. Write character [a] to printer [00]
  477. (Inhibited)
  478. Write character [s] to printer [00]
  479. (Inhibited)
  480. Write character [h] to printer [00]
  481. (Inhibited)
  482. Write character [e] to printer [00]
  483. (Inhibited)
  484. Write character [s] to printer [00]
  485. (Inhibited)
  486. Write character [ ] to printer [00]
  487. (Inhibited)
  488. Write character [o] to printer [00]
  489. (Inhibited)
  490. Write character [f] to printer [00]
  491. (Inhibited)
  492. Write character [ ] to printer [00]
  493. (Inhibited)
  494. Write character [y] to printer [00]
  495. (Inhibited)
  496. Write character [o] to printer [00]
  497. (Inhibited)
  498. Write character [u] to printer [00]
  499. (Inhibited)
  500. Write character [r] to printer [00]
  501. (Inhibited)
  502. Write character [ ] to printer [00]
  503. (Inhibited)
  504. Write character [d] to printer [00]
  505. (Inhibited)
  506. Write character [r] to printer [00]
  507. (Inhibited)
  508. Write character [e] to printer [00]
  509. (Inhibited)
  510. Write character [a] to printer [00]
  511. (Inhibited)
  512. Write character [m] to printer [00]
  513. (Inhibited)
  514. Write character [s] to printer [00]
  515. (Inhibited)
  516. Write character [] to printer [00]
  517. (Inhibited)
  518. Write character [
  519. ] to printer [00]
  520. (Inhibited)
  521. Terminate!
  522. 11
  523.                    Example: Encrypted .COM program (Edited)
  524.  
  525.  
  526. 0100 jmp 0104
  527. 0104 mov [0101],2C4A
  528. 010A std
  529. 010B mov si,423E
  530. 010E mov di,5572
  531. 0111 mov ax,0000
  532. 0114 mov cx,[si]
  533. 0116 cmp cx,ax
  534. 0118 je 0100
  535. 011A dec si
  536. 011B dec si
  537. 011C rep movsw
  538. 011E mov cx,[si]
  539. 0120 dec si
  540. 0121 dec si
  541. 0122 rep stosw
  542. 0124 jmp short 0114
  543. 0114 mov cx,[si]
  544. 0116 cmp cx,ax
  545. 0118 je 0100
  546. 011A dec si
  547. 011B dec si
  548. 011C rep movsw
  549. 011E mov cx,[si]
  550. 0120 dec si
  551. 0121 dec si
  552. 0122 rep stosw
  553. 0124 jmp short 0114
  554. 0114 mov cx,[si]
  555. 0116 cmp cx,ax
  556. 0118 je 0100
  557. 0100 jmp 2D4D
  558. 2D4D call 0A99
  559. 0A99 call 0BDE
  560. 0BDE mov ah,30
  561. 0BE0 call 0910
  562. 0910 cmp ah,3D
  563. 0913 je 092A
  564. 0915 cmp ah,3C
  565. 0918 je 092A
  566. 091A cmp ah,3E
  567. 091D je 0952
  568. 091F cmp ah,80
  569. 0922 je 096C
  570. 0924 push bp
  571. 0925 cld
  572. 0926 int 21                     DOS version read
  573. 0928 pop bp
  574. 0929 ret
  575.  
  576. 12
  577.               Example: Microsoft C 5.1 Small memory model program
  578.  
  579.  
  580. DOS version read
  581. Get segment address of program
  582. Get segment address of program
  583. Modify memory allocation
  584. DOS version read
  585. Read interrupt vector 00
  586. Set vector 00 to 51EE:00B8
  587. Get segment address of environment block
  588. Get device information
  589. [Stdprn]
  590. Get device information
  591. [Stdaux]
  592. Get device information
  593. [Stderr]
  594. Get device information
  595. [Stdout]
  596. Get device information
  597. [Stdin]
  598. Get segment address of environment block
  599. Get segment address of environment block
  600. Get bytes from command line
  601. Get bytes from command line
  602. Write to [Stdout]
  603.  
  604. Funcion main, of program test running....
  605. Set vector 00 to 120A:19A9
  606. Terminate!
  607.  
  608.